package com.dxf.chepter10

/**
 * Scala 运行在java虚拟机上,特点:
 *  1 轻松实现和丰富的java类库互联互通
 *  2 支持面向对象和函数式编程
 *  3 它写出的程序像动态语言一样简洁
 *  4 简洁,高效,令人愉快
 *
 *  编程范式 :
 *   1 所有编程范式中,面向对象编程是最大赢家
 *   2 其实面向对象编程不是一种严格意义上的范式编程,严格意义上编程范式为 : 命令式编程,函数式编程,逻辑式编程,面向对象是上述交叉产物
 *   3 在传统语言设计中,只有命令式编程得到强调,递归很少出现
 *
 */
object T133_使用递归方式编程 {

  def main(args: Array[String]): Unit = {

    //控制抽象
    var x = 10
    myWhile(x > 0) {
      x -= 1
      println("x=" + x)
    }


  }


  def myWhile(condition: => Boolean)(block: => Unit): Unit = {
    if (condition) {
      block
      myWhile(condition)(block)
    }
  }
}
